Skip to content

Conversation

@alexakreizinger
Copy link
Member

@alexakreizinger alexakreizinger commented Nov 17, 2025

this PR moves the general installation requirements into the doc for building from source, since it turns out that info is only applicable to building from source.

...however, there was already a requirements section in that doc, with slightly different info. so I combined those + added some info per one of our Chronosphere developers who shared what packages he needed to install on a fresh Ubuntu installation.

Summary by CodeRabbit

  • Documentation
    • Removed the top-level "Requirements" subsection to reduce duplication.
    • Moved prerequisite details into the dedicated build-and-install section for clarity.
    • Replaced vague prerequisites with an explicit, actionable list of packages and minimum version guidance for building from source.
    • Clarified that some optional input/output plugins may require additional third-party components (e.g., Kafka).

Signed-off-by: Alexa Kreizinger <alexakreizinger@gmail.com>
@alexakreizinger alexakreizinger requested review from a team as code owners November 17, 2025 21:32
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 17, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

Build prerequisites were removed from installation/downloads.md and an explicit package prerequisites list plus a plugin-dependency note was added to installation/downloads/source/build-and-install.md.

Changes

Cohort / File(s) Summary
Requirements removed
installation/downloads.md
Removed the entire "Requirements" subsection, including the list of build components and the related warning about bundled backend libraries.
Prerequisites added / clarified
installation/downloads/source/build-and-install.md
Replaced prior minimal prerequisite text with an explicit package list: bison, build-essential/build-essentials, cmake (3.31.6+ noted), flex, libssl-dev, libyaml-dev, pkg-config. Added note that some input/output plugins (e.g., Kafka) may need extra components.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Verify package names and distro-specific package naming (build-essential vs build-essentials) and versions (cmake).
  • Confirm the plugin dependency note is accurate and points readers to plugin-specific docs if applicable.

Possibly related PRs

Suggested reviewers

  • cnorris-cs
  • cosmo0920
  • gguillotte

Poem

🐰
I hopped through pages, nibbling bits of text,
Gathered packages into one neat nest.
A list for builders, tidy and bright,
Hop, compile, and debug through the night,
Carrots for CI — and peaceful rest. 🥕

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main objective of the changeset—consolidating and relocating installation requirements from one document to another.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between f35d1ed and a22eb89.

📒 Files selected for processing (1)
  • installation/downloads/source/build-and-install.md (1 hunks)

Tip

📝 Customizable high-level summaries are now available in beta!

You can now customize how CodeRabbit generates the high-level summary in your pull requests — including its content, structure, tone, and formatting.

  • Provide your own instructions using the high_level_summary_instructions setting.
  • Format the summary however you like (bullet lists, tables, multi-section layouts, contributor stats, etc.).
  • Use high_level_summary_in_walkthrough to move the summary from the description to the walkthrough section.

Example instruction:

"Divide the high-level summary into five sections:

  1. 📝 Description — Summarize the main change in 50–60 words, explaining what was done.
  2. 📓 References — List relevant issues, discussions, documentation, or related PRs.
  3. 📦 Dependencies & Requirements — Mention any new/updated dependencies, environment variable changes, or configuration updates.
  4. 📊 Contributor Summary — Include a Markdown table showing contributions:
    | Contributor | Lines Added | Lines Removed | Files Changed |
  5. ✔️ Additional Notes — Add any extra reviewer context.
    Keep each section concise (under 200 words) and use bullet or numbered lists for clarity."

Note: This feature is currently in beta for Pro-tier users, and pricing will be announced later.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Signed-off-by: Alexa Kreizinger <alexakreizinger@gmail.com>
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (2)
installation/downloads/source/build-and-install.md (2)

9-16: Clarify platform-specificity of package names.

The package list uses Ubuntu/Debian package naming conventions (e.g., build-essentials, libfl-dev, libssl-dev). Consider adding a note indicating that package names differ across Linux distributions (RedHat/CentOS use gcc, gcc-c++, flex-devel, openssl-devel, etc.; Alpine uses different naming) to help users on other platforms adapt the instructions.

Consider adding a brief platform note similar to:

 To build and install Fluent Bit from source, you must also install the following packages:
 
+> **Note:** The package names below are for Ubuntu/Debian. Package names differ on other Linux distributions (e.g., RedHat/CentOS, Alpine). Refer to your distribution's package manager for equivalent packages.
+
 - `bison`
 - `build-essentials`

18-18: Expand guidance on discovering plugin-specific dependencies.

The note mentions that certain input/output plugins require additional components (Kafka is given as an example), but doesn't explain how users can discover which specific plugins need what. Consider linking to or mentioning where plugin documentation specifies their dependencies to improve discoverability.

You could enhance this with:

-Additionally, certain [input](../data-pipeline/inputs.md) or [output](../data-pipeline/outputs.md) plugins might depend on additional components. For example, some plugins require Kafka.
+Additionally, certain [input](../data-pipeline/inputs.md) or [output](../data-pipeline/outputs.md) plugins might depend on additional components. For example, the Kafka input and output plugins require Kafka libraries. Check the documentation for your chosen plugins to identify any additional dependencies.
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between c448901 and 5afb575.

📒 Files selected for processing (2)
  • installation/downloads.md (0 hunks)
  • installation/downloads/source/build-and-install.md (1 hunks)
💤 Files with no reviewable changes (1)
  • installation/downloads.md

Signed-off-by: Alexa Kreizinger <alexakreizinger@gmail.com>
Copy link
Contributor

@cosmo0920 cosmo0920 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I found some of the glitches in the updated contents. Could you take a look?

- Bison 3 or greater
- YAML headers
- OpenSSL headers
To build and install Fluent Bit from source, you must also install the following packages:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to clarify the minimum requirement of CMake version.
Currently, we use CMake 3.31.6 in our CI.
Plus, we're still supporting to compile on CentOS7.
We also use CMake 3.31.6 for that platform in CI.
So, the minimum requirements of CMake version could be become CMake 3.31.6 now.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can add that :) similarly, do you think we need to add minimum versions for any of these other libraries?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think so. We only need to add the minimum required version for CMake for now.

Signed-off-by: Alexa Kreizinger <alexakreizinger@gmail.com>
Copy link
Contributor

@cnorris-cs cnorris-cs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I left a suggestion, but I've added my approval based on that to keep this moving.

Co-authored-by: Craig Norris <112565517+cnorris-cs@users.noreply.github.com>
Signed-off-by: Alexa Kreizinger <alexakreizinger@gmail.com>
@alexakreizinger alexakreizinger merged commit 2dee9d8 into master Nov 19, 2025
5 of 6 checks passed
@alexakreizinger alexakreizinger deleted the alexakreizinger/sc-154896/move-install-requirements-into-build-from branch November 19, 2025 03:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants